// 关于菜单State的action
export type MenuAction = {
  type: string;
  keys: string[];
  menuItem: OpenedMenu;
  list: MenuItem[];
  path: string;
  menuItemArr: OpenedMenu[];
  CurrenFull: boolean;
  backRoute: any[];
};

export interface OpenedMenu {
  path: string;
  title: string;
  isAffix?: boolean;
  icon?: string;
}

export interface MenuState {
  openedMenu: OpenedMenu[];
  openMenuKey: string[];
  selectMenuKey: string[];
  menuList: MenuItem[];
  currentPath: string;
  backRouteList: MenuItem[];
  isTagsViewCurrenFull: boolean;
}

// 未处理的菜单列表信息
export interface MenuItem {
  path: string;
  element?: any;
  LayoutHide?: boolean;
  roles?: string[];
  access?: string;
  icon?: any;
  name?: string;
  redirect?: string;
  children?: MenuItem[];
  isAffix?: boolean;
  cache?: boolean;
  isAffixdd?: boolean;
  isAuthMenu?: boolean;
}

export type MenuList = MenuItem[];

export type MenuResponse = MenuList;

export type MenuListResponse = {
  data: MenuList;
};
